home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 551-575 / disk_556 / scheme2c / scc.man < prev    next >
Text File  |  1992-05-06  |  8KB  |  264 lines

  1.  
  2.  
  3.  
  4. local                                                      SCC(1)
  5.  
  6.  
  7.  
  8.  
  9. NAME
  10.      scc - Scheme to C compiler
  11.  
  12. SYNTAX
  13.      scc [ option ] ... file ...
  14.  
  15. DESCRIPTION
  16.      The scc command invokes a Scheme compiler which accepts the
  17.      language defined in the essential portions of _R_e_v_i_s_e_d_3
  18.      _R_e_p_o_r_t _o_n _t_h_e _A_l_g_o_r_i_t_h_m_i_c _L_a_n_g_u_a_g_e _S_c_h_e_m_e, with minor con-
  19.      straints and some additions.  The compiler produces C source
  20.      files which are then compiled using the system's C compiler
  21.      to produce conventional ._o and _a._o_u_t files.  The C code pro-
  22.      duced by this compiler may be intermixed with other C code
  23.      or code written in other languages.
  24.  
  25. OPTIONS
  26.      These options are accepted by scc.  Other options will be
  27.      assumed to be options of the system's C compiler and they
  28.      will be passed to it when it is invoked.
  29.  
  30.      -cc  _C _c_o_m_p_i_l_e_r   Compile the Scheme compiler produced C
  31.                        code with _C _c_o_m_p_i_l_e_r.  If this flag is not
  32.                        supplied, then the C compiler _c_c will be
  33.                        used.
  34.  
  35.      -C                Compile the Scheme programs found in the
  36.                        files _s_o_u_r_c_e.sc and leave the resulting
  37.                        code in _s_o_u_r_c_e.c files.  No further opera-
  38.                        tions are performed.
  39.  
  40.      -I  _d_i_r_e_c_t_o_r_y     Specifies a directory to be searched by
  41.                        include for source files.
  42.  
  43.      -f  _s_y_m_b_o_l  _v_a_l_u_e Define the compile-time constant _s_y_m_b_o_l to
  44.                        _v_a_l_u_e. This is equivilant to the construct
  45.                        (define-constant _s_y_m_b_o_l _v_a_l_u_e) appearing
  46.                        in the Scheme source.
  47.  
  48.      -i                Combine the source and object files into a
  49.                        Scheme interpreter.  The module name for
  50.                        each Scheme source file is automatically
  51.                        determined.  Module names for previously
  52.                        compiled modules must be specified using
  53.                        the -m option.
  54.  
  55.      -m  _m_o_d_u_l_e-_n_a_m_e   Specifies the name of a previously com-
  56.                        piled module.  Note that the Scheme com-
  57.                        piler will downshift the alphabetic char-
  58.                        acters in the _m_o_d_u_l_e-_n_a_m_e.
  59.  
  60.  
  61.  
  62.  
  63.                                                                 1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SCC(1)                                                      local
  71.  
  72.  
  73.  
  74.      -Ob               Optimize code by omitting bounds checks on
  75.                        vectors and strings.
  76.  
  77.      -Og               Optimize code by omitting stack trace-back
  78.                        code.
  79.  
  80.      -On               Optimize code by assuming that all numbers
  81.                        are fixed point.
  82.  
  83.      -Ot               Optimize code by omitting type error
  84.                        checks.
  85.  
  86.      -pg               Produce profiled code for run-time meas-
  87.                        urement using _g_p_r_o_f(_1). The profiled
  88.                        library is used in lieu of the standard
  89.                        Scheme library.
  90.  
  91.      -scgc   _s_t_a_t_f_l_a_g  Enables garbage collection statistics.  If
  92.                        set to 1, then garbage collection statis-
  93.                        tics will be printed.  The default is 0,
  94.                        that will result in no statistics.
  95.  
  96.      -sch  _h_e_a_p        Specifies the compiler's heap size in
  97.                        megabytes.
  98.  
  99.      -scl _p_e_r_c_e_n_t      Specifies the percent of the heap allo-
  100.                        cated after a generational garbage collec-
  101.                        tion that will force a full collection.
  102.  
  103. ENVIRONMENT VARIABLES
  104.      The items controlled by -_s_c.. flags can also be controlled
  105.      by environment variables.  If both the flag and the environ-
  106.      ment variable are provided, then the flag's value will be
  107.      used.
  108.  
  109.      SCGCINFO          Controls the reporting of garbage collec-
  110.                        tion statistics to the standard error
  111.                        file.  If set to 1, then garbage collec-
  112.                        tion statistics will be printed.  The
  113.                        default setting is 0 that will not print
  114.                        the statistics.
  115.  
  116.      SCHEAP            Defines the size of the heap in megabytes.
  117.                        The default heap size is 4 MB.
  118.  
  119.      SCLIMIT           Defines the percent of the heap allocated
  120.                        after a generational garbage collection
  121.                        that will force a full collection.  The
  122.                        default is 33.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129. 2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. local                                                      SCC(1)
  137.  
  138.  
  139.  
  140. INPUT FILES
  141.      Following the command options come one or more file names.
  142.  
  143.      _n_a_m_e.sc           Scheme source.  Scheme source files will
  144.                        be compiled into C files with the name
  145.                        _n_a_m_e.c.
  146.  
  147.      _n_a_m_e.o            Object file which may have been generated
  148.                        by any compiler.
  149.  
  150.      _n_a_m_e.a            Object file archive which may have been
  151.                        generated by any compiler.
  152.  
  153. DIAGNOSTICS
  154.      The disgnostic messages produced by the compiler are printed
  155.      on the standard error file.
  156.  
  157. FILES
  158.      /.../schemetoc/...  source and documentation
  159.      /.../libsc.a        library
  160.      /.../libsc_p.a      profiled library (optional)
  161.      /.../scc            c-shell script
  162.      /.../sccomp         compiler
  163.      /.../sccomp.heap    saved heap image for the compiler
  164.      /.../predef.sc      predefined functions
  165.      /.../objects.h      definitions which are #include'd in the
  166.      C code
  167.      SC-TO-C_p_r_o_c_e_s_s_i_d.c  temporary C source file
  168.      SC-TO-C_p_r_o_c_e_s_s_i_d.o  temporary object file
  169.  
  170. LIMITATIONS
  171.      When the compiler is able to identify every call to a pro-
  172.      cedure, it is able to generate it "in-line", and perform
  173.      tail calls by using "goto".  This analysis covers most
  174.      loops, conditional expressions, and finite state machines.
  175.      For non-tail recursive calls, the code generated by the com-
  176.      piler uses the standard C mechanisms for procedure call and
  177.      return.  This therefore requires that each top-level Scheme
  178.      procedure, and any Scheme procedure which has more than one
  179.      call which is not tail-recursive be compiled into its own C
  180.      procedure.  Calls to such procedures will be tail-recursive
  181.      if and only if the host C compiler optimizes tail-recursion.
  182.  
  183.  
  184. SEE ALSO
  185.      Harold Abelson and Gerald Jay Sussman with Julie Sussman,
  186.      _S_t_r_u_c_t_u_r_e _a_n_d _I_n_t_e_r_p_r_e_t_a_t_i_o_n _o_f _C_o_m_p_u_t_e_r _P_r_o_g_r_a_m_s, The MIT
  187.      Press.
  188.  
  189.      Jonathan Rees and William Clinger (Editors), _R_e_v_i_s_e_d_3 _R_e_p_o_r_t
  190.      _o_n _t_h_e _A_l_g_o_r_i_t_h_m_i_c _L_a_n_g_u_a_g_e _S_c_h_e_m_e, SIGPLAN Notices, V21,
  191.      #12, December 1986.
  192.  
  193.  
  194.  
  195.                                                                 3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SCC(1)                                                      local
  203.  
  204.  
  205.  
  206.      R. Kent Dybvig, _T_h_e _S_C_H_E_M_E _P_r_o_g_r_a_m_m_i_n_g _L_a_n_g_u_a_g_e, Prentice
  207.      Hall, Inc.
  208.  
  209.      Daniel P. Friedman and Matthias Felleisen, _T_h_e _L_i_t_t_l_e
  210.      _L_I_S_P_e_r, MIT Press.
  211.  
  212.      Joel Bartlett, documentation files located in the directory
  213.      /.../_s_c_h_e_m_e_t_o_c/....
  214.  
  215.      sci(1)
  216.  
  217. QUESTIONS, COMMENTS, AND COMPLAINTS
  218.      bartlett@decwrl.dec.com
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261. 4
  262.  
  263.